package com.xyz.yygh.common.excep;


import com.xyz.yygh.common.excep.YyghException;
import com.xyz.yygh.common.result.R;
import com.xyz.yygh.common.result.Result;
import org.apache.http.HttpStatus;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.jdbc.UncategorizedSQLException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * service 全局异常类
 */
@RestControllerAdvice
public class GlobalExceptionHandler {



    @ExceptionHandler(YyghException.class)
    @ResponseBody
    public R error(YyghException e){
        return R.error(e.getCode(),e.getMessage());
    }

    @ExceptionHandler(UncategorizedSQLException.class)
    @ResponseBody
    public R error(UncategorizedSQLException e){

        return R.error(e.getSql());

    }
    @ExceptionHandler(DuplicateKeyException.class)
    public R error(DuplicateKeyException e){
        System.out.println("11111111111111111111111111111");
        System.out.println(e.toString());
        System.out.println("11111111111111111111111111111");
        return R.error(0,e.getCause().toString().split(":")[1]);

    }
//    @ExceptionHandler(Exception.class)
//    @ResponseBody
//    public Result error(Exception e){
//        System.out.println(e.getMessage());
//        System.out.println("11111111111111111111111111111111111111");
//        return Result.build(500,"1111111");
//    }


}
